function ValidarCodigo( tipo )
{
	if( document.getElementById("codigo").value.length == 5 )
	{
		var ajax = new sack();
		ajax.requestFile = 'http://'+servidor+'/CarregarDados.php?informacao=validarCodigo&codigo='+document.getElementById("codigo").value+'&tipo='+tipo;
		ajax.onCompletion = function()
         {
            resultado = ProcessarXMLCodigo( ajax.responseXML );
            ExibirValidacao( resultado );
         };
         ajax.runAJAX();
	}
	else
	{
		if( document.getElementById('resultadoValidacao') != null ) 
				document.getElementById("colunaCodigo").removeChild( document.getElementById('resultadoValidacao') );
	}
}

function ProcessarXMLCodigo( xml )
{
	if( xml == null )
         return null;
	var tagCodigo =  xml.getElementsByTagName("codigo");
	if( tagCodigo.length > 0) // verifica se houveram resultados
     {
         for(var i=0; i < tagCodigo.length; i++) // percorre o resultado
         {
             var codigo = tagCodigo[i];
             var resultado = codigo.getElementsByTagName("validade")[0].firstChild.nodeValue;
             if( resultado == 'FALSE' )
                 return false;
             else if( resultado == 'TRUE' )
                 return true;
         }
     }
}

function ExibirValidacao( resultado )
{	
	if( document.getElementById('resultadoValidacao') == null )
	{
		var resultadoValidacao = document.createElement("SPAN");
        resultadoValidacao.setAttribute("id", "resultadoValidacao");
        resultadoValidacao.setAttribute("class", "textoNormal");

        if( resultado ) // C�digo est� em uso
        	resultadoValidacao.innerHTML = "C�digo est� em uso."; 
        else
        	resultadoValidacao.innerHTML = "C�digo dispon�vel para uso.";
        
        document.getElementById("colunaCodigo").appendChild(resultadoValidacao);
	}

}


function ValidarAvaliacaoEstrategica()
{
    if ( document.avaliarEstrategiaProcesso.idLicitacao.value == '0')
    {
       alert('O campo MODALIDADE LICITA��O deve ser escolhido!');
       document.avaliarEstrategiaProcesso.idLicitacao.focus();
       return false;
    }

    if ( document.avaliarEstrategiaProcesso.fundamentoLegal.value == '')
    {
       alert('O campo FUNDAMENTO LEGAL deve ser preenchido!');
       document.avaliarEstrategiaProcesso.fundamentoLegal.focus();
       return false;
    }

    if ( document.avaliarEstrategiaProcesso.justificativaLegal.value == '')
    {
       alert('O campo JUSTIFICATIVA LEGAL deve ser preenchido!');
       document.avaliarEstrategiaProcesso.justificativaLegal.focus();
       return false;
    }
    
    return true;
}

function ValidarRevisaoProcesso()
{
	for(var i = 0; i < document.getElementById("corpoDetalhamento").rows.length; i++)
	{
			var codigo_material = document.getElementById('codigo'+i);
			if( codigo_material.value == '' )
			{
				alert('Digite o c�digo para o material!');
				document.getElementById("codigo"+i).focus();
				return false;
			}
			else if( codigo_material.value != '' && codigo_material.value.length < 5 )
			{
				alert('O c�digo para o material deve conter 5 d�gitos!');
				document.getElementById("codigo"+i).focus();
				return false;
				
			}
			
			var valor_unitario = document.getElementById("valorUnitario"+i);
			if( valor_unitario != null && valor_unitario.value == '' )
			{
				alert('Valor unit�rio n�o pode ser vazio!');
				document.getElementById("valorUnitario"+i).focus();
				return false;
			}
	}
    
	return true;
	
}

function VerificarDisponibilidadeCodigo( tipo, codigo, tituloJanela )
{
                  window.open('VerificarDisponibilidadeCodigo.php?tipo='+tipo+'&codigo='+codigo, tituloJanela,'width=250,height=150,status=no,toolbar=no,location=no,menubar=no,resizable=no');
}

function ValidarCadastroServico()
{
         if( document.cadastrar_servico.catserv != null )
         {
             if( document.cadastrar_servico.catserv.value == '' )
    	     {
    		     alert('O campo CATSERV deve ser preenchido!');
    		     document.cadastrar_servico.catserv.focus();
    		     return false;
    	     }

    	     if( document.cadastrar_servico.catserv.value.length < 5 )
    	     {
    		     alert('O campo CATSERV deve conter 5 d�gitos');
    		     document.cadastrar_servico.catserv.focus();
    		     return false;
    	     }

             if( document.cadastrar_servico.codigoValido.value == 1 )
        	 {
                 alert('Este CATSERV j� est� cadastrado para um material, por favor entre com outro!');
                 document.cadastrar_servico.catserv.focus();
         		return false;
             }

        	 else if( document.cadastrar_servico.codigoValido.value == '' )
        	 {
                 alert('Por favor valide o CATSERV antes de prosseguir!');
                 document.cadastrar_servico.catserv.focus();
        		 return false;
        	 }
         }

         if( document.cadastrar_servico.nome.value == '' )
	     {
		     alert('O campo Nome do Servico deve ser preenchido!');
		     document.cadastrar_servico.nome.focus();
		     return false;
	     }
	     
         if( document.cadastrar_servico.descricao.value == '' )
	     {
		     alert('O campo Descricao deve ser escolhido!');
		     document.cadastrar_servico.descricao.focus();
		     return false;
	     }

         return true;
}



function ExibirValidacaoCatServ()
{
         var colunaCatserv = document.getElementById("colunaCatServ");
         var link = document.getElementById("linkValidacaoCatServ");
         if( document.cadastrar_servico.catserv.value.length == 5 )
         {
             if( link == null )
             {
                 var link = document.createElement("link");
                 link.setAttribute("href", "javascript: VerificarDisponibilidadeCodigo('servico',"+document.cadastrar_servico.catserv.value+", 'Validar CATSERV')");
                 link.setAttribute("id", "linkValidacaoCatServ");
                 link.setAttribute("class", "textoNormal");
                 link.innerHTML = "Validar CATSERV";
             }
             colunaCatserv.appendChild(link);
         }
         else
         {
             if( link != null )
                 colunaCatserv.removeChild(link);
         }
}

/**
 * Valida as informa��es do formul�rio de cadastro do material/servi�o
 * 
 * @return Retorna true caso as informa��es tenham sido preenchidas corretamente
 */
function ValidarCadastroMaterial( )
{

    if( document.cadastrar_material.listaCategorias.value == 0 )
	{
		alert('Deve ser escolhida uma categoria para o Material!');
		return false;
	}

    if( document.cadastrar_material.catMat != null )
    {
        if( document.cadastrar_material.catMat.value == '' )
    	{
    		alert('O campo CATMAT deve ser preenchido!');
    		document.cadastrar_material.catMat.focus();
    		return false;
    	}

        if( document.cadastrar_material.catMat.value.length < 5 )
    	{
    		alert('O campo CATMAT deve ter 5 digitos!');
    		document.cadastrar_material.catMat.focus();
    		return false;
    	}
    	
        if( document.cadastrar_material.codigoValido.value == 1 )
    	{
            alert('Este CATMAT j� est� cadastrado para um material, por favor entre com outro!');
            document.cadastrar_material.catMat.focus();
    		return false;
    	}
    	
    	else if( document.cadastrar_material.codigoValido.value == '' )
    	{
            alert('Por favor valide o CATMAT antes de prosseguir!');
            document.cadastrar_material.catMat.focus();
    		return false;
    	}

	}

    if( document.cadastrar_material.nome.value == '' )
	{
		alert('O campo Nome do Material deve ser preenchido!');
		document.cadastrar_material.nome.focus();
		return false;
	}

	if( document.cadastrar_material.unidade.selectedIndex == '0' )
	{
		alert('O campo Unidade deve ser escolhido!');
		document.cadastrar_material.unidade.focus();
		return false;
	}

    if( document.cadastrar_material.descricao.value == '' )
	{
		alert('O campo Descricao deve ser escolhido!');
		document.cadastrar_material.descricao.focus();
		return false;
	}
	
	if( document.cadastrar_material.valor.value == '' )
	{
		alert('O campo Valor deve ser escolhido!');
		document.cadastrar_material.valor.focus();
		return false;
	}


	return true;
}
// Impede que o usu�rio insira letras no campo
function blockNumbers(e)
{

var isIE = ie?true:false;
var isNS = ns6?true:false;

  var _ret = true;
  if (isIE) {
    if (window.event.keyCode < 48 || window.event.keyCode > 57) {
      _ret = false;
    }

    if (window.event.keyCode == 13 || window.event.keyCode == 8 )
      _ret = true;
  }
  if (isNS) {
    if (e.which < 48 || e.which > 57) {
      _ret = false;
    }

    if (e.which == 13 || e.which == 8 || e.keyCode == 9)
      _ret = true;
  }
  return (_ret);

/*
 * var key; var keychar; var reg;
 * 
 * if(window.event) { // for IE, e.keyCode or window.event.keyCode can be used
 * key = e.keyCode; } else if(e.which) { // netscape key = e.which; if (key ==
 * 8) { return true; } } else { // no event, so pass through return true; }
 * 
 * keychar = String.fromCharCode(key); reg = /[^\d-]/; return
 * !reg.test(keychar);
 */
}

function BloqueiaNumeros(e)
{
  var key;
  
  if(window.event)
  {
         // for IE, e.keyCode or window.event.keyCode can be used
         key = e.keyCode;
  }
  else if(e.which)
  {
         // netscape
         key = e.which;
  if (key == 8)
  {
     return true;
     }
}
else {
  // no event, so pass through
  return true;
}
  
  if (!isNaN(String.fromCharCode(key)))
     return false;
  else
      return true;
}

// Define a mascara de um campo
function formatar(src, mask){
         var i = src.value.length;
         var saida = mask.substring(0,1);
         var texto = mask.substring(i);

         if (texto.substring(0,1) != saida)
         {
            src.value += texto.substring(0,1);
         }
}
	function soNumero(e){
		navegador = /msie/i.test(navigator.userAgent);
		if (navegador)
			var tecla = event.keyCode;
		else
			var tecla = e.which;
			var t2 = e.keyCode;

		if(tecla > 47 && tecla < 58)
			return true;
		else{
			if ((tecla != 8)&&(t2!= 9))
				return false;
			else
				return true;
			if (tecla != 9)
				return false;
			else
				return true;
			
		}
	}

// verifica se o campo nome foi preenchido
function ValidarCadastroUnidade( )
{
	
	if( document.cadastrar_unidade.nomeUnidade.value == '' )
	{
		alert('O campo NOME deve ser preenchido!');
		document.cadastrar_unidade.nomeUnidade.focus();
		return false;
	}

	if( document.cadastrar_unidade.responsavelUnidade.value == '' )
	{
		alert('O campo RESPONSAVEL deve ser preenchido!');
		document.cadastrar_unidade.responsavelUnidade.focus();
		return false;
	}

	return true; 
}

/**
 * Valida as informa��es do formul�rio de cadastro da categoria
 * 
 * @return Retorna true caso as informa��es tenham sido preenchidas corretamente
 */
function ValidarCadastroCategoria( )
{

	if( document.cadastrar_categoria.nomeCategoria.value == '' )
	{
		alert('O campo Categoria deve ser preenchido!');
		document.cadastrar_categoria.nomeCategoria.focus();
		return false;
	}

	return true;
}

/**
 * Valida as informa��es do formul�rio de altera��o da categoria
 * 
 * @return Retorna true caso as informa��es tenham sido preenchidas corretamente
 */
function ValidarAlteracaoCategoria( )
{

	if( document.exibir_alterar_categoria.nomeCategoria.value == '' )
	{
		alert('O campo NOME deve ser preenchido!');
		document.exibir_alterar_categoria.nomeCategoria.focus();
		return false;
	}

	return true;
}

function ValidarCadastroProcesso(itensDetalhamento2)
{


    if ( document.cadastrarProcesso.objeto.value == ''){
       alert('O campo OBJETO deve ser preenchido!');
       document.cadastrarProcesso.objeto.focus();
       return false;
       }
    
    if ( document.cadastrarProcesso.justificativa.value == ''){
        alert('O campo JUSTIFICATIVA deve ser preenchido!');
        document.cadastrarProcesso.justificativa.focus();
        return false;
    }
    
    if ( document.cadastrarProcesso.modalidadeLicitacao.value == '0'){
        alert('O campo MODALIDADE DE LICITAÇÃO deve ser escolhido!');
        document.cadastrarProcesso.modalidadeLicitacao.focus();
        return false;
        }
    
 // var tabelaDetalhamento = document.getElementById("tabelaDetalhamento");
 // var totalLinhas = tabelaDetalhamento.rows.length-1;

    if( itensDetalhamento2.length == 0 ) // nao existem materiais adicionados
											// ao detalhamento
    {
            // var imgAdicionar = document.getElementById("imgAdicionar");
             alert("Você não pode cadastrar um processo de compra sem materiais ou serviços.");
             return false;
    }
    
    for(i = 0; i < itensDetalhamento2.length; i++){
    	if(itensDetalhamento2[i].quantidade == "" || itensDetalhamento2[i].quantidade <= 0){
    		alert("Você não pode cadastrar um item com quantidade menor ou igual a zero.");
            return false;
    	}
    	if(itensDetalhamento2[i].valor == "" ||  itensDetalhamento2[i].valor <= 0){
    		alert("Você não pode cadastrar um item com valor menor ou igual a zero.");
            return false;
    	}
    }
    
    if ( document.cadastrarProcesso.infoRecebimento.value == ''){
        alert('O campo ESTRATÉGIA DE FORNECIMENTO E RECEBIMENTO DE MATERIAL deve ser preenchido!');
        document.cadastrarProcesso.infoRecebimento.focus();
        return false;
    }

    if ( document.cadastrarProcesso.responsabilidadeIFAL.value == ''){
       alert('O campo DO IFAL deve ser preenchido!');
       document.cadastrarProcesso.responsabilidadeIFAL.focus();
       return false;
       }

    if ( document.cadastrarProcesso.responsabilidadeContratado.value == ''){
       alert('O campo DO CONTRATADO deve ser preenchido!');
       document.cadastrarProcesso.responsabilidadeContratado.focus();
       return false;
       }

    if ( document.cadastrarProcesso.sancoes.value == ''){
       alert('O campo SANÇÕES deve ser preenchido!');
       document.cadastrarProcesso.sancoes.focus();
       return false;
       }


       return true;
       
}

function ValidarCamposDetalhamento()
{
         var tabelaDetalhamento = document.getElementById("tabelaDetalhamento");
         var totalLinhas = tabelaDetalhamento.rows.length-1;

         var inputTextMaterial = document.getElementById("inputTextoMaterial"+totalLinhas);
         if ( inputTextMaterial != null )
         {
            if( inputTextMaterial.value == '' )
            {
                 alert("O campo MATERIAL deve ser preenchido");
                 inputTextMaterial.focus();
                 return false;
            }
         }

         var inputTextQuantidade = document.getElementById("inputTextoQuantidade"+totalLinhas);
         if (  inputTextQuantidade.value == '' ) // verifica se o campo
													// Quantidade est� vazio
         {
               alert("O campo QUANTIDADE deve ser preenchido");
               inputTextQuantidade.focus();
               return false;
         }

         var inputTextValorUnitario = document.getElementById("inputTextoValorUnitario"+totalLinhas);
         if ( inputTextValorUnitario != null )
         {
            if( inputTextValorUnitario.value == '' ) // verifica se o campo
														// Valor est� vazio
            {
               alert("O campo VALOR deve ser preenchido");
               inputTextValorUnitario.focus();
               return false;
            }
         }

         var textareaEspecificacao = document.getElementById("textAreaEspecificacao"+totalLinhas);
         if( textareaEspecificacao != null )
         {
             if (  textareaEspecificacao.value == '' ) // verifica se o campo
														// Valor est� vazio
             {
                   alert("O campo ESPEC�FICA��O deve ser preenchido");
                   textareaEspecificacao.focus();
                   return false;
             }
         }
}

function ValidarLogin( )
{

	if( document.formLogin.usuario.value == '' )
	{
		alert('O campo USUARIO deve ser preenchido!');
		document.formLogin.usuario.focus();
		return false;
	}

	if( document.formLogin.senha.value == '' )
	{
		alert('O campo SENHA deve ser preenchido!');
		document.formLogin.senha.focus();
		return false;
	}
	
	if( document.formLogin.senha.value == '' )
	{
		alert('O campo SENHA deve ser preenchido!');
		document.formLogin.senha.focus();
		return false;
	}
	
	if( document.formLogin.senha.value.length < 6 || document.formLogin.senha.value.length > 12  )
	{
		alert('Sua senha deve conter entre 6 e 12 d�gitos!');
		document.formLogin.senha.focus();
		return false;
	}
	
 	return true;
}

function ValidarAlteracaoFuncionario( )
{

	if( document.exibir_alterar_funcionario.funcionarioSenha.value == '' )
	{
		alert('O campo SENHA deve ser preenchido!');
		document.exibir_alterar_funcionario.funcionarioSenha.focus();
		return false;
	}

	return true;
}

function ValidarAlteracaoSetor( )
{

	if( document.exibir_alterar_setor.nome_setor.value == '' )
	{
		alert('O campo NOME deve ser preenchido!');
		document.exibir_alterar_setor.nome_setor.focus();
		return false;
	}
	
	if( document.exibir_alterar_setor.responsavel_setor.value == '' )
	{
		alert('O campo RESPONS�VEL deve ser preenchido!');
		document.exibir_alterar_setor.responsavel_setor.focus();
		return false;
	}

	return true;
}





function ValidarAlteracaoUnidade( )
{

	if( document.alterar_unidade.nome_unidade.value == '' )
	{
		alert('O campo NOME deve ser preenchido!');
		document.alterar_unidade.nome_unidade.focus();
		return false;
	}

	if( document.alterar_unidade.responsavel_unidade.value == '' )
	{
		alert('O campo RESPONS�VEL deve ser preenchido!');
		document.alterar_unidade.responsavel_unidade.focus();
		return false;
	}

	return true;
}

function ValidarCadastroFuncionario( )
{

	if( document.exibir_cadastro_funcionario.usuarioFuncionario.value == '' )
	{
		alert('O campo NOME deve ser preenchido!');
		document.exibir_cadastro_funcionario.usuarioFuncionario.focus();
		return false;
	}

	if( document.exibir_cadastro_funcionario.senhaFuncionario.value == '' )
	{
		alert('O campo SENHA deve ser preenchido!');
		document.exibir_cadastro_funcionario.senhaFuncionario.focus();
		return false;
	}
	
	if( document.exibir_cadastro_funcionario.senhaFuncionario.value.length < 6 || document.exibir_cadastro_funcionario.senhaFuncionario.value.length > 12  )
	{
		alert('A senha deve conter entre 6 e 12 d�gitos!');
		document.exibir_cadastro_funcionario.senhaFuncionario.focus();
		return false;
	}
	
	if( document.exibir_cadastro_funcionario.tipoPerfil.value == '-1' )
	{
		alert('O campo PERFIL deve ser escolhido!');
		document.exibir_cadastro_funcionario.tipoPerfil.focus();
		return false;
	}

	return true;
}

function ValidarCadastroSetor()
{

	if( document.cadastrar_setor.unidadeId.value == '0' )
	{
		alert('O campo UNIDADE deve ser escolhido!');
		document.cadastrar_setor.unidadeId.focus();
		return false;
	}
	
	if( document.cadastrar_setor.usuarioFuncionario.value == '' )
	{
		alert('O campo NOME deve ser preenchido!');
		document.cadastrar_setor.usuarioFuncionario.focus();
		return false;
	}
	
	if( document.cadastrar_setor.usuarioFuncionario.value == '' )
	{
		alert('O campo NOME deve ser preenchido!');
		document.cadastrar_setor.usuarioFuncionario.focus();
		return false;
	}

}

function ValidarCadastroFornecedor( )
{

	if( document.cadastrarFornecedor.tipoInformacao.value == '0' )
	{
		alert('O campo TIPO deve ser escolhido!');
		document.cadastrarFornecedor.tipoInformacao.focus();
		return false;
	}

	if( document.cadastrarFornecedor.listaInformacaoSelecionada.options[0].value == '' )
	{
		alert('O campo CATEGORIA/SERVI�O SELECIONADA(O) deve ser preenchido!');
		document.cadastrarFornecedor.listaInformacaoSelecionada.options[0].focus();
		return false;
	}

	if( document.cadastrarFornecedor.nomeFornecedor.value == '' )
	{
		alert('O campo NOME deve ser preenchido!');
		document.cadastrarFornecedor.nomeFornecedor.focus();
		return false;
	}

	/*
	if ( document.cadastrarFornecedor.cnpjcpfFornecedor.value.length == 14 && validar_cnpj(document.cadastrarFornecedor.cnpjcpfFornecedor.value) == false)
        {
                alert('CNPJ inválido!');
                document.cadastrarFornecedor.cnpjcpfFornecedor.focus();
                return false;
        }
        */
	if( document.cadastrarFornecedor.cnpjcpfFornecedor.value.length < 14 && document.cadastrarFornecedor.cnpjcpfFornecedor.value.length > 11 )
	{
        alert('Quantidade de números insuficientes para o campo CPF/CNPJ!');
        document.cadastrarFornecedor.cnpjcpfFornecedor.focus();
        return false;
	}
	
        if( document.cadastrarFornecedor.cnpjcpfFornecedor.value.length == 11 && validar_cpf(document.cadastrarFornecedor.cnpjcpfFornecedor.value) == false)
        {
            alert('CPF inválido');
            document.cadastrarFornecedor.cnpjcpfFornecedor.focus();
            return false;
        }
    
	if( document.cadastrarFornecedor.cnpjcpfFornecedor.value.length < 11  )
	{
        alert('Quantidade de números insuficientes para o campo CPF/CNPJ!');
        document.cadastrarFornecedor.cnpjcpfFornecedor.focus();
        return false;
	}
        /*
	if( document.cadastrarFornecedor.telefoneFornecedor.value == '' )
	{
		alert('O campo TELEFONE deve ser preenchido!');
		document.cadastrarFornecedor.telefoneFornecedor.focus();
		return false;
	}
	
	if( document.cadastrarFornecedor.telefoneFornecedor.value.length < 10 )
	{
		alert('Quantidade de números insuficientes! Digite o TELEFONE no formato DDD+N�mero');
		document.cadastrarFornecedor.telefoneFornecedor.focus();
		return false;
	}
	
	if( document.cadastrarFornecedor.celularFornecedor.value == '' )
	{
		alert('O campo CELULAR deve ser preenchido!');
		document.cadastrarFornecedor.celularFornecedor.focus();
		return false;
	}
	
	if( document.cadastrarFornecedor.celularFornecedor.value.length < 10 )
	{
		alert('Quantidade de n�meros insuficientes! Digite o CELULAR no formato DDD+N�mero');
		document.cadastrarFornecedor.celularFornecedor.focus();
		return false;
	}
	
	if( document.cadastrarFornecedor.estadoFornecedor.value == '0' )
	{
		alert('O campo ESTADO deve ser escolhido!');
		document.cadastrarFornecedor.estadoFornecedor.focus();
		return false;
	}
	
	if( document.cadastrarFornecedor.cidadeFornecedor.value == '' )
	{
		alert('O campo CIDADE deve ser preenchido!');
		document.cadastrarFornecedor.cidadeFornecedor.focus();
		return false;
	}
	
	if( document.cadastrarFornecedor.emailFornecedor.value == '' )
	{
		alert('O campo E-MAIL deve ser preenchido!');
		document.cadastrarFornecedor.emailFornecedor.focus();
		return false;
	}
	
	if( document.cadastrarFornecedor.siteFornecedor.value == '' )
	{
		alert('O campo SITE deve ser preenchido!');
		document.cadastrarFornecedor.siteFornecedor.focus();
		return false;
	}
	
	if( document.cadastrarFornecedor.razaoSocialFornecedor.value == '' )
	{
		alert('O campo RAZ�O SOCIAL deve ser preenchido!');
		document.cadastrarFornecedor.razaoSocialFornecedor.focus();
		return false;
	}
        */
	return true;
}

function ValidarCadastroFornecedorAuxil( )
{

	if( document.cadastrarFornecedor.tipoInformacao.value == '0' )
	{
		alert('O campo TIPO deve ser escolhido!');
		document.cadastrarFornecedor.tipoInformacao.focus();
		return false;
	}

	if( document.cadastrarFornecedor.listaInformacaoSelecionada.options[0].value == '' )
	{
		alert('O campo CATEGORIA/SERVI�O SELECIONADA(O) deve ser preenchido!');
		document.cadastrarFornecedor.listaInformacaoSelecionada.options[0].focus();
		return false;
	}

	if( document.cadastrarFornecedor.nomeFornecedor.value == '' )
	{
		alert('O campo NOME deve ser preenchido!');
		document.cadastrarFornecedor.nomeFornecedor.focus();
		return false;
	}
		
	if( document.cadastrarFornecedor.razaoSocialFornecedor.value == '' )
	{
		alert('O campo RAZ�O SOCIAL deve ser preenchido!');
		document.cadastrarFornecedor.razaoSocialFornecedor.focus();
		return false;
	}

	return true;
}

function ValidarCadastroPrograma()
{	
	if(document.cadastrar_programa.programas.value == 0){
		alert("Um programa deve ser selecionado");
		document.cadastrar_programa.programas.focus();
		return false;
	}
	if (document.cadastrar_programa.codResumido.value == '')
	{
		alert("O código resumido deve ser preechido");
		document.cadastrar_programa.codResumido.focus();
		return false;
	}	

	if (document.cadastrar_programa.codCompleto.value == '')
	{
		alert("O código Completo deve ser preechido");
		document.cadastrar_programa.codCompleto.focus();
		return false;
	}

	if (document.cadastrar_programa.codCompleto.value.length != 21)
	{
		alert("Completo Invalido! o código Completo ter 21 digitos");
		document.cadastrar_programa.codCompleto.focus();
		return false;
	}
	
	if (document.cadastrar_programa.nomePrograma.value == '')
	{
		alert("O Nome do Programa deve ser preechido");
		document.cadastrar_programa.nomePrograma.focus();
		return false;
	}	
	
	return true;
}

function ValidarCadastroNomePrograma()
{
	if (document.cadastrar_programa.nomePrograma.value == '')
	{
		alert("O Nome do Programa deve ser preechido");
		document.cadastrar_programa.nomePrograma.focus();
		return false;
	}	
	
	return true;
}

function ValidarAlterarPrograma()
{
	if (document.alterar_Programa.codResumido.value == '')
	{
		alert("O c�digo resumido deve ser preechido");
		document.alterar_Programa.codResumido.focus();
		return false;
	}	

	if (document.alterar_Programa.codCompleto.value == '')
	{
		alert("O c�digo Completo deve ser preechido");
		document.alterar_Programa.codCompleto.focus();
		return false;
	}
	
	if (document.alterar_Programa.nomePrograma.value == '')
	{
		alert("O Nome do Programa deve ser preechido");
		document.alterar_Programa.nomePrograma.focus();
		return false;
	}	
	
	return true;
}

function ValidarAlterarNomePrograma()
{
	
	if (document.alterar_Programa.nomePrograma.value == '')
	{
		alert("O Nome do Programa deve ser preechido");
		document.alterar_Programa.nomePrograma.focus();
		return false;
	}	
	
	return true;
}

function ValidarCadastroFonte()
{
	if (document.cadastrar_fonte.listaProgramas.value == 0)
	{
		alert("Voce deve selecionar uma Ação Orçamentária");
		document.cadastrar_fonte.listaProgramas.focus();
		return false;
		
	}
	
	if (document.cadastrar_fonte.fonteRecurso.value == '')
	{
		alert("A Fonte de Recurso deve ser preechida");
		document.cadastrar_fonte.fonteRecurso.focus();
		return false;
	}
	
	if (document.cadastrar_fonte.valorFonte.value == '')
	{
		alert("O Valor Fonte deve ser preechido");
		document.cadastrar_fonte.valorFonte.focus();
		return false;
	}
	
}

function ValidarAlterarFonte()
{
	if (document.alterar_fonte.listaProgramas.value == 0)
	{
		alert("Você deve selecionar uma Ação Orçamentária");
		document.alterar_fonte.listaProgramas.focus();
		return false;
		
	}
	
	if (document.alterar_fonte.fonteRecurso.value == '')
	{
		alert("A Fonte de Recurso deve ser preechida");
		document.alterar_fonte.fonteRecurso.focus();
		return false;
	}
	
	if (document.alterar_fonte.valorFonte.value == '')
	{
		alert("O Valor Fonte deve ser preechido");
		document.alterar_fonte.valorFonte.focus();
		return false;
	}
	
}

function ValidarCadastroSupCanc(){
	var totalReg = document.getElementById("totalRegistros0").value;
	for(var i=0;i < totalReg; i++){		
	saldoFonte = document.getElementById("fonteSaldo"+i).value.replace(",", "");
	sf1 = saldoFonte.replace(".", "");
	sf2 = sf1.replace(".", "");
	valor1 = sf2.replace(".", "");
	
	try{
	valor2 = document.getElementById("scValor"+i).value.replace(",", "");
	}catch(e){
		valor2 = "";
	}
	sc1 = valor2.replace(".", "");
	sc2 = sc1.replace(".", "");
	valorRateio = sc2.replace(".", "");
	if(document.getElementById("tipoOpcao"+i).value == "2"){
	 if((parseInt(valor1) - (parseInt(valorRateio))) < 0)
	{
		alert("Saldo da Fonte insuficiente para o Cancelamento verifique os Rateios!");		
		return false;
		break;
	}
	}
	}
}

function ValidarCadastroPlanoInterno(){
	if(document.cadastrar_plano_interno.programaId.value == 0){
		alert("Você deve selecionar uma ação orçamentária");
		document.cadastrar_plano_interno.programaId.focus();
		return false;
	}
	
	if(document.cadastrar_plano_interno.codigoPI.value == ''){
		alert("O campo Código do PI deve ser preenchido");
		document.cadastrar_plano_interno.codigoPI.focus();
		return false;
	}
	
	if(document.cadastrar_plano_interno.codigoPI.value.length < 11){
		alert("O campo Código do PI deve ter 11 dígitos");
		document.cadastrar_plano_interno.codigoPI.focus();
		return false;
	}
	
	if(document.cadastrar_plano_interno.tituloPI.value == ''){
		alert("O campo Título do PI deve ser preenchido");
		document.cadastrar_plano_interno.tituloPI.focus();
		return false;
	}
	
	return confirm("Confirma o cadastro do programa?");
	
}

function ValidarCadastroReserva(){
	if(document.cadastrar_reserva.programaId.value == 0){
		alert("Você deve selecionar uma ação orçamentária");
		document.cadastrar_reserva.programaId.focus();
		return false;
	}
	
	if(document.cadastrar_reserva.tipoDespesa.value == 0){
		alert("Você deve selecionar um tipo de despesa");
		document.cadastrar_reserva.tipoDespesa.focus();
		return false;
	}
	
	if(document.cadastrar_reserva.fonteId.value == 0){
		alert("Você deve selecionar uma fonte de recurso");
		document.cadastrar_reserva.fonteId.focus();
		return false;
	}
	
        if(document.cadastrar_reserva.planoInternoId.value == 0){
            alert("Voc~e deve selecionar um plano interno!");
            document.cadastrar_reserva.planoInternoId.focus();
            return false;
        }

	if(document.cadastrar_reserva.campiId.value == 0){
		alert("Você deve selecionar um campi");
		document.cadastrar_reserva.campiId.focus();
		return false;
	}
	
	if(document.cadastrar_reserva.setorId.value == 0){
		alert("Você deve selecionar um setor");
		document.cadastrar_reserva.setorId.focus();
		return false;
	}
	
	if(!document.cadastrar_reserva.idProcesso){
		if(document.cadastrar_reserva.processoReserva.value == ''){
			alert("O campo processo deve ser preenchido");
			document.cadastrar_reserva.processoReserva.focus();
			return false;
		}
		if(document.cadastrar_reserva.processoReserva.value.length < 20){
			alert("Numero de processo inválido");
			document.cadastrar_reserva.processoReserva.focus();
			return false;
		}
			
	}
	
	if(document.cadastrar_reserva.licitacaoId.value == 0){
		alert("Você deve selecionar uma modalidade de licitação");
		document.cadastrar_reserva.licitacaoId.focus();
		return false;
	}
	
	if(document.cadastrar_reserva.despesaReserva.value == ''){
		alert("O campo despesa deve ser preenchido");
		document.cadastrar_reserva.despesaReserva.focus();
		return false;
	}
	
	//if(document.cadastrar_reserva.subelemReserva.value == 0){
		//alert("Você deve selecionar um subelemento");
		//document.cadastrar_reserva.subelemReserva.focus();
		//return false;
	//}
	
	//if(document.cadastrar_reserva.valorReserva.value == ''){
		//alert("O campo valor deve ser preenchido");
		//document.cadastrar_reserva.valorReserva.focus();
		//return false;
	//}
	
	saldoFonte = document.cadastrar_reserva.valorReserva.value.replace(",", "");
	sf1 = saldoFonte.replace(".", "");
	sf2 = sf1.replace(".", "");
	sf3 = sf2.replace(".", "");
	valor1 = sf3;
	saldo = document.getElementById("saldoFonte").innerHTML.replace(",", "");
	s1 = saldo.replace(".", "");
	s2 = s1.replace(".", "");
	s3 = s2.replace(".", "");
	saldo1 = s3;
	if (parseInt(valor1, 10) > parseInt(saldo1, 10))
	{
		if(confirm("O valor da reserva é maior que o saldo da fonte. Deseja Imprimir o despacho?"))
		{	

			// window.location.href =
			// "http://"+servidor+"/GerarDespachoOrcamento.php?disponibilidade=nao&fonteId="+document.cadastrar_reserva.listaFontes.value+"&campusId="+document.cadastrar_reserva.ListaCampi.value+"&valor="+document.cadastrar_reserva.valorReserva.value+"&processo="+document.cadastrar_reserva.processoReserva.value;
			window.open("http://"+servidor+"/reports/RelDespachoOrcamento.php?disponibilidade=nao&fonteId="+document.cadastrar_reserva.listaFontes.value+"&campusId="+document.cadastrar_reserva.ListaCampi.value+"&valor="+document.cadastrar_reserva.valorReserva.value+"&processo="+document.cadastrar_reserva.processoReserva.value,"Despacho Orçamento", "toolbar=no,menubar=no");
			
			return false;
			 
		}else{ 
			return false;
		}

	}
}

function ValidarAlterarReserva(){
	if(document.alterar_reserva.programaId.value == 0){
		alert("Você deve selecionar uma ação orçamentária");
		document.alterar_reserva.programaId.focus();
		return false;
	}
	
	if(document.alterar_reserva.tipoDespesa.value == 0){
		alert("Você deve selecionar um tipo de despesa");
		document.alterar_reserva.tipoDespesa.focus();
		return false;
	}
	
	if(document.alterar_reserva.fonteId.value == 0){
		alert("Você deve selecionar uma fonte de recurso");
		document.alterar_reserva.fonteId.focus();
		return false;
	}
	
	if(document.alterar_reserva.campiId.value == 0){
		alert("Você deve selecionar um campi");
		document.alterar_reserva.campiId.focus();
		return false;
	}
	
	if(document.alterar_reserva.setorId.value == 0){
		alert("Você deve selecionar um setor");
		document.alterar_reserva.setorId.focus();
		return false;
	}
	
	if(!document.alterar_reserva.idProcesso){
		if(document.alterar_reserva.processoReserva.value == ''){
			alert("O campo processo deve ser preenchido");
			document.alterar_reserva.processoReserva.focus();
			return false;
		}
		if(document.alterar_reserva.processoReserva.value.length < 20){
			alert("Numero de processo inválido");
			document.alterar_reserva.processoReserva.focus();
			return false;
		}
			
	}
	
	if(document.cadastrar_reserva.licitacaoId.value == 0){
		alert("Você deve selecionar uma modalidade de licitação");
		document.alterar_reserva.licitacaoId.focus();
		return false;
	}
	
	if(document.alterar_reserva.despesaReserva.value == ''){
		alert("O campo despesa deve ser preenchido");
		document.alterar_reserva.despesaReserva.focus();
		return false;
	}
	
	if(document.alterar_reserva.subelemReserva.value == 0){
		alert("Você deve selecionar um subelemento");
		document.alterar_reserva.subelemReserva.focus();
		return false;
	}
	
	if(document.alterar_reserva.valorReserva.value == ''){
		alert("O campo valor deve ser preenchido");
		document.alterar_reserva.valorReserva.focus();
		return false;
	}
	
	saldoFonte = document.alterar_reserva.valorReserva.value.replace(",", "");
	sf1 = saldoFonte.replace(".", "");
	sf2 = sf1.replace(".", "");
	sf3 = sf2.replace(".", "");
	valor1 = sf3;
	saldo = document.getElementById("saldoFonte").innerHTML.replace(",", "");
	s1 = saldo.replace(".", "");
	s2 = s1.replace(".", "");
	s3 = s2.replace(".", "");
	saldo1 = s3;
	if (parseInt(valor1, 10) > parseInt(saldo1, 10))
	{
		if(confirm("O valor da reserva é maior que o saldo da fonte. Deseja Imprimir o despacho?"))
		{	

			// window.location.href =
			// "http://"+servidor+"/GerarDespachoOrcamento.php?disponibilidade=nao&fonteId="+document.cadastrar_reserva.listaFontes.value+"&campusId="+document.cadastrar_reserva.ListaCampi.value+"&valor="+document.cadastrar_reserva.valorReserva.value+"&processo="+document.cadastrar_reserva.processoReserva.value;
			window.open("http://"+servidor+"/GerarDespachoOrcamento.php?disponibilidade=nao&fonteId="+document.cadastrar_reserva.listaFontes.value+"&campusId="+document.cadastrar_reserva.ListaCampi.value+"&valor="+document.cadastrar_reserva.valorReserva.value+"&processo="+document.cadastrar_reserva.processoReserva.value,"Despacho Orçamento", "toolbar=no,menubar=no");
			
			return false;
			 
		}else{ 
			return false;
		}

	}
}
function ValidarCadastroRateio()
{
	if (document.cadastrar_rateio.listaProgramas.value == 0)
	{
		alert("Voce deve selecionar uma a&ccedil;&atilde;o or&ccedil;amentaria");
		document.cadastrar_rateio.listaProgramas.focus();
		return false;
		
	}
	
	if (document.cadastrar_rateio.tipoDespesa.value == 0)
	{
		alert("O tipo da dispesa deve ser preechido!");
		document.cadastrar_rateio.tipoDespesa.focus();
		return false;
	}
	
	if (document.cadastrar_rateio.listaFontes.value == 0)
	{
		alert("Voce deve selecionar uma fonte de recurso!");
		document.cadastrar_rateio.listaFontes.focus();
		return false;
		
	}
	
	if (document.cadastrar_rateio.ListaCampi.value == 0)
	{
		alert("Voce deve selecionar um Campus");
		document.cadastrar_rateio.ListaCampi.focus();
		return false;
		
	}
		
	if (document.cadastrar_rateio.valorRateio.value == '')
	{
		alert("O Valor do Rateio deve ser preechido");
		document.cadastrar_rateio.valorRateio.focus();
		return false;
	}

	valor1 = document.getElementById("valorFonte").innerHTML.replace(",", "");
	v1 = valor1.replace(".", "");
	v2 = v1.replace(".", "");
	v3 = v2.replace(".", "");
	valorFonte = v3;
	
	valor2 =  document.getElementById("valorRateio").value.replace(",", "");
	vr1 = valor2.replace(".", "");
	vr2 = vr1.replace(".", "");
	vr3 = vr2.replace(".", "");
	valorRateio = vr3; 
	
	valor3 = document.getElementById("saldoFonte").innerHTML.replace(",", "");
	vf1 = valor3.replace(".", "");
	vf2 = vf1.replace(".", "");
	vf3 = vf2.replace(".", "");
	saldoFonte = vf3; 
	
	if((parseInt(valorRateio)) > parseInt(valorFonte)) 	 
	{
		alert("Não é possivel Cadastrar o Rateio!... O valor do rateio deve ser menor que o valor da fonte!");		
		return false;		
	}
	
	if((parseInt(valorRateio)) > parseInt(saldoFonte)) 	 
	{
		alert("Não é possivel Cadastrar o Rateio!... O Saldo da Fonte é Insuficiente!");		
		return false;		
	}
	
	
}
function ValidarAlterarRateio()
{
	if (document.alterar_rateio.tipoDespesa.value == 0)
	{
		alert("O tipo da dispesa deve ser preechido!");
		document.alterar_rateio.tipoDespesa.focus();
		return false;
	}
	
	var totalReg = document.getElementById("totReg0").value;
	for(var i=0;i < totalReg; i++){		
	saldoFonte = document.getElementById("saldofonte"+i).value;		   	
	
	try{
	valor2 = document.getElementById("valorRateio"+i).value.replace(",", "");
	}catch(e){
		valor2 = "";
	}
	valorfonte = document.getElementById("valorfonte"+i).value;
	vr1 = valor2.replace(".", "");
	vr2 = vr1.replace(".", "");
	vr3 = vr2.replace(".", "");
	valorRateio = vr3
	
	// if(((parseInt(saldoFonte) - (parseInt(valorRateio))) -
	// parseInt(valorfonte)) )
	if((parseInt(valorRateio)) > parseInt(valorfonte)) 	 
	{
		alert("Não é possivel Alterar o valor do Rateio!... O valor do rateio não poder ser maior que o valor da fonte!");		
		return false;
		break;
	}
	}
	
	
}

function validarCadastroEmpenho(){
	var totReg = document.getElementById("totReg0").value;
	for(i=0;i<totReg;i++){	
		var totNota = document.getElementById("qtdNotaEmpenho"+i).value;
		var acumValorEmpenho=0;
		for(j=0;j<totNota;j++){			
			valor2 = document.getElementById("valorNotaEmpenho-"+i+"-"+j).value.replace(",", "");
			v1 = valor2.replace(".", "");
			v2 = v1.replace(".", "");
			v3 = v2.replace(".", "");
			valorReserva = v3;
			acumValorEmpenho += parseInt(valorReserva);
                        if(document.getElementById("numeroNotaEmpenho-"+i+"-"+j).value == "")
                        {
                            alert("O campo Nota de Empenho dever ser preenchido!");
                            document.getElementById("numeroNotaEmpenho-"+i+"-"+j).focus();
                            return false;
                            break;
                        }
                        if(document.getElementById("valorNotaEmpenho-"+i+"-"+j).value == "")
                        {
                            alert("O campo Valor do Empenho dever ser preenchido!");
                            document.getElementById("valorNotaEmpenho-"+i+"-"+j).focus();
                            return false;
                            break;                    
                        }
                        
		}
		if(acumValorEmpenho > parseInt(document.getElementById("valorReserva"+i).value)){
			alert("O valor do Empenho ou a soma dos Empenhos não pode ser maior que o valor da Reserva!");
			return false;
			break;
		} 
			
	}
        return true;
}

function validar_cpf(cpf)
{
var numeros, digitos, soma, i, resultado, digitos_iguais;
digitos_iguais = 1;
if (cpf.length < 11)
   return false;
for (i = 0; i < cpf.length - 1; i++)
    if (cpf.charAt(i) != cpf.charAt(i + 1))
    {
       digitos_iguais = 0;
       break;
    }
    if (!digitos_iguais)
    {
       numeros = cpf.substring(0,9);
       digitos = cpf.substring(9);
       soma = 0;
       for (i = 10; i > 1; i--)
           soma += numeros.charAt(10 - i) * i;
       resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
       if (resultado != digitos.charAt(0))
          return false;
       numeros = cpf.substring(0,10);
       soma = 0;
       for (i = 11; i > 1; i--)
           soma += numeros.charAt(11 - i) * i;
       resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
       if (resultado != digitos.charAt(1))
          return false;
       return true;
    }
  else
      return false;
}

function validar_cnpj( cnpj )
{
     var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
     digitos_iguais = 1;
    if (cnpj.length != 14)
        return false;

    for (i = 0; i < cnpj.length - 1; i++)
           if (cnpj.charAt(i) != cnpj.charAt(i + 1))
                 {
                 digitos_iguais = 0;
                 break;
                 }
     if (!digitos_iguais)
           {
           tamanho = cnpj.length - 2;
           numeros = cnpj.substring(0,tamanho);
           digitos = cnpj.substring(tamanho);
           soma = 0;
           pos = tamanho - 7;
           for (i = tamanho; i >= 1; i--)
                 {
                 soma += numeros.charAt(tamanho - i) * pos--;
                 if (pos < 2)
                       pos = 9;
                 }
           resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
           if (resultado != digitos.charAt(0))
                 return false;

           tamanho = tamanho + 1;
           numeros = cnpj.substring(0,tamanho);
           soma = 0;
           pos = tamanho - 7;
           for (i = tamanho; i >= 1; i--)
                 {
                 soma += numeros.charAt(tamanho - i) * pos--;
                 if (pos < 2)
                       pos = 9;
                 }
           resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
           if (resultado != digitos.charAt(1))
               return false;
           else
           {
               return true;
           }
           }
           else
             {
                   return false;
             }
}

// fun��o para formata��o de valores monet�rios
documentall = document.all;

function formatamoney(c) {
	var t = this;if(c == undefined) c = 2;		
	var p, d = (t=t.split("."))[1].substr(0, c);
	for(p = (t=t[0]).length; (p-=3) >= 1;) {
			t = t.substr(0,p) + "." + t.substr(p);
	}
	return t+","+d+Array(c+1-d.length).join(0);
}

String.prototype.formatCurrency=formatamoney;

function demaskvalue(valor, currency){
/*
 * Se currency � false, retorna o valor sem apenas com os n�meros. Se � true, os
 * dois �ltimos caracteres s�o considerados as casas decimais
 */
var val2 = '';
var strCheck = '0123456789';
var len = valor.length;
	if (len== 0){
		return 0.00;
	}

	if (currency ==true){	
		/*
		 * Elimina os zeros � esquerda a vari�vel <i> passa a ser a localiza��o
		 * do primeiro caractere ap�s os zeros e val2 cont�m os caracteres
		 * (descontando os zeros � esquerda)
		 */
		
		for(var i = 0; i < len; i++)
			if ((valor.charAt(i) != '0') && (valor.charAt(i) != ',')) break;
		
		for(; i < len; i++){
			if (strCheck.indexOf(valor.charAt(i))!=-1) val2+= valor.charAt(i);
		}

		if(val2.length==0) return "0.00";
		if (val2.length==1)return "0.0" + val2;
		if (val2.length==2)return "0." + val2;
		
		var parte1 = val2.substring(0,val2.length-2);
		var parte2 = val2.substring(val2.length-2);
		var returnvalue = parte1 + "." + parte2;
		return returnvalue;
		
	}
	else{
			/*
			 * currency � false: retornamos os valores COM os zeros � esquerda,
			 * sem considerar os �ltimos 2 algarismos como casas decimais
			 */
			val3 ="";
			for(var k=0; k < len; k++){
				if (strCheck.indexOf(valor.charAt(k))!=-1) val3+= valor.charAt(k);
			}			
	return val3;
	}
}

function reais(obj,event){

var whichCode = (window.Event) ? event.which : event.keyCode;
/*
 * Executa a formata��o ap�s o backspace nos navegadores !document.all
 */
if (whichCode == 8 && !documentall) {	
/*
 * Previne a a��o padr�o nos navegadores
 */
	if (event.preventDefault){ // standart browsers
			event.preventDefault();
		}else{ // internet explorer
			event.returnValue = false;
	}
	var valor = obj.value;
	var x = valor.substring(0,valor.length-1);
	obj.value= demaskvalue(x,true).formatCurrency();
	return false;
}
/*
 * Executa o Formata Reais e faz o format currency novamente ap�s o backspace
 */
FormataReais(obj,'.',',',event);
} // end reais


function backspace(obj,event){
/*
 * Essa fun��o basicamente altera o backspace nos input com m�scara reais para
 * os navegadores IE e opera. O IE n�o detecta o keycode 8 no evento keypress,
 * por isso, tratamos no keydown. Como o opera suporta o infame document.all,
 * tratamos dele na mesma parte do c�digo.
 */

var whichCode = (window.Event) ? event.which : event.keyCode;
if (whichCode == 8 && documentall) {	
	var valor = obj.value;
	var x = valor.substring(0,valor.length-1);
	var y = demaskvalue(x,true).formatCurrency();

	obj.value =""; // necess�rio para o opera
	obj.value += y;
	
	if (event.preventDefault){ // standart browsers
			event.preventDefault();
		}else{ // internet explorer
			event.returnValue = false;
	}
	return false;

	}// end if
}// end backspace

function FormataReais(fld, milSep, decSep, e) {
var sep = 0;
var key = '';
var i = j = 0;
var len = len2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';
var whichCode = (window.Event) ? e.which : e.keyCode;

// if (whichCode == 8 ) return true; //backspace - estamos tratando disso em
// outra fun��o no keydown
if (whichCode == 0 ) return true;
if (whichCode == 9 ) return true; // tecla tab
if (whichCode == 13) return true; // tecla enter
if (whichCode == 16) return true; // shift internet explorer
if (whichCode == 17) return true; // control no internet explorer
if (whichCode == 27 ) return true; // tecla esc
if (whichCode == 34 ) return true; // tecla end
if (whichCode == 35 ) return true;// tecla end
if (whichCode == 36 ) return true; // tecla home

/*
 * O trecho abaixo previne a a��o padr�o nos navegadores. N�o estamos inserindo
 * o caractere normalmente, mas via script
 */

if (e.preventDefault){ // standart browsers
		e.preventDefault();
	}else{ // internet explorer
		e.returnValue = false;
}

var key = String.fromCharCode(whichCode);  // Valor para o c�digo da Chave
if (strCheck.indexOf(key) == -1) return false;  // Chave inv�lida

/*
 * Concatenamos ao value o keycode de key, se esse for um n�mero
 */
fld.value += key;

var len = fld.value.length;
var bodeaux = demaskvalue(fld.value,true).formatCurrency();
fld.value=bodeaux;

/*
 * Essa parte da fun��o t�o somente move o cursor para o final no opera.
 * Atualmente n�o existe como mov�-lo no konqueror.
 */
  if (fld.createTextRange) {
	var range = fld.createTextRange();
	range.collapse(false);
	range.select();
  }
  else if (fld.setSelectionRange) {
	fld.focus();
	var length = fld.value.length;
	fld.setSelectionRange(length, length);
  }
  return false;

}
// fim da m�scara para moedas
function substituir(campoValor){
	campoValor.value = campoValor.value.replace(".", ",");
}

function formataMoeda(num) {

	num = num/100;
   x = 0;

   if(num<0) {
      num = Math.abs(num);
      x = 1;
   }
   if(isNaN(num)) num = "0";
      cents = Math.floor((num*100+0.5)%100);

   num = Math.floor((num*100+0.5)/100).toString();

   if(cents < 10) cents = "0" + cents;
      for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
         num = num.substring(0,num.length-(4*i+3))+'.'
               +num.substring(num.length-(4*i+3));
      ret = num + ',' + cents;
      if (x == 1) ret = ' - ' + ret;
      return ret;

}

function moeda2float(moeda){
	

	   moeda = moeda.replace(".","");

	   moeda = moeda.replace(",",".");

	   return parseFloat(moeda);

	}

function moeda2Int(moeda){

	   if(moeda.charAt(0) == "0")
	   {
		 moeda = moeda.replace("0","");
	   }
	   
	   for(i=0;i<moeda.length;i++){
	   moeda = moeda.replace(".","");
	   }
	   moeda = moeda.replace(",","");
	   
	   return parseInt(moeda);

	}

function tiraFormatacaoProcesso( processo )
{

		   processo = processo.replace(".","");



		   processo = processo.replace("/","");

	   

		   processo = processo.replace("-","");

return processo;
}

function keyEnter(e,qtdNotaEmpenho,empenho,tabela){
	navegador = /msie/i.test(navigator.userAgent);
	if (navegador)
		var tecla = event.keyCode;
	else
		var tecla = e.keyCode;

		if (tecla == 13){
			mostraQtdCamposEmpenho(qtdNotaEmpenho,empenho,tabela);
			return false;
		}
			

}

// O caracter '?' define que só será permitido números
// O caracter '!' define que é permitido qualquer caracter
function formataCampos(campo, mask, evt) {
	 
	 if(document.all) { // Internet Explorer
	    key = evt.keyCode;}
	    else{ // Nestcape
	       key = evt.which;
	     }

	if (key == 8) {
	return true;
	}
		

	 string = campo.value;  
	 i = string.length;

	 if (i <= mask.length) {
	  if (mask.charAt(i) == '?') {
	       return (key > 47 && key < 58);
	      } else {
	       if (mask.charAt(i) == '!') {return true;}
	   for (c = i; c < mask.length; c++) {
	         if (mask.charAt(c) != '?' && mask.charAt(c) != '!')
	         campo.value = campo.value + mask.charAt(c);
	      else if (mask.charAt(c) == '!'){
	                return true;
	       } else {
	         return (key > 47 && key < 58);
	          }
	       }
	    }
	  } else return false;
	}
